package cz.zcu.fav.rat.dataaccess.service;

import java.util.List;
import java.util.Set;

import cz.zcu.fav.rat.beans.Period;
import cz.zcu.fav.rat.beans.Reservation;
import cz.zcu.fav.rat.dataaccess.dao.GenericDAO;
import cz.zcu.fav.rat.dataaccess.service.impl.OccupiedReservationTimeSlotException;

public interface ReservationService extends
		GenericDataAccessService<Reservation, GenericDAO<Reservation, Integer>>
{

	Set<Reservation> createReservations(Set<Reservation> reservations)
			throws OccupiedReservationTimeSlotException;

	Reservation mergeMultiple(Period period, TimeSlot timeslot)
			throws OccupiedReservationTimeSlotException;
	
	List<Reservation> getAllReservationsByUserId(Integer userId);
}
